// ******************************************************************************
// Copyright     :  Copyright (C) 2019, Hisilicon Technologies Co. Ltd.
// File name     :  pe_c_union_define.h
// Project line  :  Platform And Key Technologies Development
// Department    :  CAD Development Department
// Author        :  xxx
// Version       :  1.0
// Date          :  2018/12/05
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V5.1
// History       :  xxx 2019/08/10 14:30:28 Create file
// ******************************************************************************

#ifndef PE_C_UNION_DEFINE_H
#define PE_C_UNION_DEFINE_H

/* Define the union csr_petx_fpga_ver_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_fpga_ver : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_fpga_ver_u;

/* Define the union csr_petx_emu_ver_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_emu_ver : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_emu_ver_u;

/* Define the union csr_petx_initctab_start_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ini_cmd_ram_start : 1; /* [0] */
        u32 rsv_0 : 31;                 /* [31:1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_initctab_start_u;

/* Define the union csr_petx_initctab_done_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ini_cmd_ram_done : 1; /* [0] */
        u32 rsv_1 : 31;                /* [31:1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_initctab_done_u;

/* Define the union csr_petx_int_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_cpi_int_index : 24; /* [23:0] */
        u32 rsv_2 : 3;               /* [26:24] */
        u32 petx_int_enable : 1;     /* [27] */
        u32 petx_int_issue : 1;      /* [28] */
        u32 rsv_3 : 3;               /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_int_vector_u;

/* Define the union csr_petx_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_int_data : 5;           /* [4:0] */
        u32 rsv_4 : 11;                  /* [15:5] */
        u32 petx_program_csr_id_ro : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_int_u;

/* Define the union csr_petx_int_en_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_int_en : 5;          /* [4:0] */
        u32 rsv_5 : 11;               /* [15:5] */
        u32 petx_program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_int_en_u;

/* Define the union csr_petx_cmd_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_cmd_err : 1;         /* [0] */
        u32 petx_cmd_inj_err : 1;     /* [1] */
        u32 petx_cmd_err_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_cmd_err_u;

/* Define the union csr_petx_ram_ucerr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ram_ucerr : 1;         /* [0] */
        u32 petx_inj_ram_ucerr : 1;     /* [1] */
        u32 petx_ram_ucerr_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ram_ucerr_u;

/* Define the union csr_petx_ram_cerr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ram_cerr : 1;         /* [0] */
        u32 petx_inj_ram_cerr : 1;     /* [1] */
        u32 petx_ram_cerr_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ram_cerr_u;

/* Define the union csr_petx_crdt_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_crdt_err : 1;         /* [0] */
        u32 petx_crdt_inj_err : 1;     /* [1] */
        u32 petx_crdt_err_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_crdt_err_u;

/* Define the union csr_petx_fifo_ovf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_fifo_ovf_err : 1;         /* [0] */
        u32 petx_fifo_ovf_inj_err : 1;     /* [1] */
        u32 petx_fifo_ovf_err_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_fifo_ovf_err_u;

/* Define the union csr_petx_indrect_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_indrect_addr : 24; /* [23:0] */
        u32 petx_indrect_tab : 4;   /* [27:24] */
        u32 petx_indrect_state : 2; /* [29:28] */
        u32 petx_indrect_mode : 1;  /* [30] */
        u32 petx_indrect_vld : 1;   /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_indrect_ctrl_u;

/* Define the union csr_petx_indrect_timeout_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_indrect_timeout : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_indrect_timeout_u;

/* Define the union csr_petx_indrect_data_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_indrect_data : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_indrect_data_u;

/* Define the union csr_petx_ucerr_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_cmd_ucerr_ctrl : 1;       /* [0] */
        u32 petx_crdt_ucerr_ctrl : 1;      /* [1] */
        u32 petx_cpsfo_ovf_ctrl : 1;       /* [2] */
        u32 petx_hefo_ovf_ctrl : 1;        /* [3] */
        u32 petx_gbfo_ovf_ctrl : 1;        /* [4] */
        u32 rsv_6 : 3;                     /* [7:5] */
        u32 petx_cdf_ram_ucerr_ctrl : 1;   /* [8] */
        u32 petx_cpsfo_ram_ucerr_ctrl : 1; /* [9] */
        u32 petx_gsope_ram_ucerr_ctrl : 1; /* [10] */
        u32 petx_he_ram_ucerr_ctrl : 1;    /* [11] */
        u32 petx_cht_ram_ucerr_ctrl : 1;   /* [12] */
        u32 petx_gbfo_ram_ucerr_ctrl : 1;  /* [13] */
        u32 rsv_7 : 17;                    /* [30:14] */
        u32 petx_ucerr_ctrl : 1;           /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ucerr_ctrl_u;

/* Define the union csr_petx_ram_err_chk_bypass_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ram_err_chk_bypass : 1; /* [0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ram_err_chk_bypass_u;

/* Define the union csr_petx_inj_ram_err_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_inj_cdf_ram_cerr : 1;    /* [0] */
        u32 petx_inj_cdf_ram_ucerr : 1;   /* [1] */
        u32 petx_inj_cpsfo_ram_cerr : 1;  /* [2] */
        u32 petx_inj_cpsfo_ram_ucerr : 1; /* [3] */
        u32 petx_inj_gsope_ram_cerr : 1;  /* [4] */
        u32 petx_inj_gsope_ram_ucerr : 1; /* [5] */
        u32 petx_inj_he_ram_cerr : 1;     /* [6] */
        u32 petx_inj_he_ram_ucerr : 1;    /* [7] */
        u32 petx_inj_cht_ram_cerr : 1;    /* [8] */
        u32 petx_inj_cht_ram_ucerr : 1;   /* [9] */
        u32 petx_inj_gbfo_ram_cerr : 1;   /* [10] */
        u32 petx_inj_gbfo_ram_ucerr : 1;  /* [11] */
        u32 rsv_8 : 20;                   /* [31:12] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_inj_ram_err_cfg_u;

/* Define the union csr_petx_en_hcmd_num_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_en_hcmd_num : 4; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_en_hcmd_num_u;

/* Define the union csr_petx_chnl_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_chnl_hcmd_en : 1; /* [0] */
        u32 rsv_9 : 22;            /* [22:1] */
        u32 petx_chnl_idle_th : 9; /* [31:23] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_chnl_cfg_u;

/* Define the union csr_petx_pre_alc_pkt_crdt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_pre_alc_pkt_crdt : 4; /* [3:0] */
        u32 petx_ertn_pkt_crdt_th : 4; /* [7:4] */
        u32 rsvd : 24;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_pre_alc_pkt_crdt_u;

/* Define the union csr_petx_ecrc_ini0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ecrc_ini0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ecrc_ini0_u;

/* Define the union csr_petx_ecrc_ini1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ecrc_ini1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ecrc_ini1_u;

/* Define the union csr_petx_ecrc_msk0_h_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk0_h : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk0_h_u;

/* Define the union csr_petx_ecrc_msk0_l_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk0_l : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk0_l_u;

/* Define the union csr_petx_ecrc_msk1_h_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk1_h : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk1_h_u;

/* Define the union csr_petx_ecrc_msk1_l_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk1_l : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk1_l_u;

/* Define the union csr_petx_ecrc_msk2_h_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk2_h : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk2_h_u;

/* Define the union csr_petx_ecrc_msk2_l_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk2_l : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk2_l_u;

/* Define the union csr_petx_ecrc_msk3_h_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk3_h : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk3_h_u;

/* Define the union csr_petx_ecrc_msk3_l_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ecrc_msk3_l : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ecrc_msk3_l_u;

/* Define the union csr_petx_fifo_af_th_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gbfo_af_th : 8; /* [7:0] */
        u32 petx_hefo_af_th : 7; /* [14:8] */
        u32 rsvd : 17;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_fifo_af_th_u;

/* Define the union csr_petx_n1588_clk_ofs_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_n1588_clk_ofs : 31;    /* [30:0] */
        u32 petx_n1588_clk_ofs_inc : 1; /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_n1588_clk_ofs_u;

/* Define the union csr_petx_1588_clk_ofs_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_1588_clk_ofs : 31;    /* [30:0] */
        u32 petx_1588_clk_ofs_inc : 1; /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_1588_clk_ofs_u;

/* Define the union csr_petx_vbs_hcrc_ini0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_vbs_hcrc_ini0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_vbs_hcrc_ini0_u;

/* Define the union csr_petx_vbs_hcrc_ini1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_vbs_hcrc_ini1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_vbs_hcrc_ini1_u;

/* Define the union csr_petx_gip0_id_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gip0_id : 16; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_gip0_id_u;

/* Define the union csr_petx_gip1_id_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gip1_id : 16; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_gip1_id_u;

/* Define the union csr_petx_gip2_id_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gip2_id : 16; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_gip2_id_u;

/* Define the union csr_petx_gip3_id_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gip3_id : 16; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_gip3_id_u;

/* Define the union csr_petx_ram_ctrl_h_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ram_ctrl_h : 6; /* [5:0] */
        u32 rsvd : 26;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ram_ctrl_h_u;

/* Define the union csr_petx_ram_ctrl_m_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ram_ctrl_m : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ram_ctrl_m_u;

/* Define the union csr_petx_ram_ctrl_l_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 petx_ram_ctrl_l : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_petx_ram_ctrl_l_u;

/* Define the union csr_petx_clk_period_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_clk_period_fraction : 30; /* [29:0] */
        u32 petx_clk_period_integer : 2;   /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_clk_period_u;

/* Define the union csr_petx_chnl_sof_eof_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_chnl_sof_eof_st : 11; /* [10:0] */
        u32 rsvd : 21;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_chnl_sof_eof_st_u;

/* Define the union csr_petx_chnl_crdt_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_chnl_crdt_st : 11; /* [10:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_chnl_crdt_st_u;

/* Define the union csr_petx_fifo_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gbfo_cnt : 8; /* [7:0] */
        u32 petx_hefo_cnt : 7; /* [14:8] */
        u32 rsvd : 17;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_fifo_cnt_u;

/* Define the union csr_petx_fifo_cur_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gbfo_ovf_cur : 1;   /* [0] */
        u32 petx_gbfo_full_cur : 1;  /* [1] */
        u32 petx_gbfo_empty_cur : 1; /* [2] */
        u32 rsv_10 : 1;              /* [3] */
        u32 petx_hefo_ovf_cur : 1;   /* [4] */
        u32 petx_hefo_full_cur : 1;  /* [5] */
        u32 petx_hefo_empty_cur : 1; /* [6] */
        u32 rsv_11 : 1;              /* [7] */
        u32 rsv_12 : 24;             /* [31:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_fifo_cur_st_u;

/* Define the union csr_petx_fifo_hst_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_gbfo_ovf_hst : 1;  /* [0] */
        u32 petx_gbfo_full_hst : 1; /* [1] */
        u32 petx_hefo_ovf_hst : 1;  /* [2] */
        u32 petx_hefo_full_hst : 1; /* [3] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_fifo_hst_st_u;

/* Define the union csr_petx_sof_eof_err_hst_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_sof_eof_err_hst : 11; /* [10:0] */
        u32 rsvd : 21;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_sof_eof_err_hst_st_u;

/* Define the union csr_petx_cpb_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_cpb_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_cpb_pkt_cnt_u;

/* Define the union csr_petx_mag_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_mag_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_mag_pkt_cnt_u;

/* Define the union csr_petx_cpb_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_cpb_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_cpb_err_pkt_cnt_u;

/* Define the union csr_petx_mag_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_mag_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_mag_err_pkt_cnt_u;

/* Define the union csr_petx_ram_ucerr_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ram_ucerr_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ram_ucerr_cnt_u;

/* Define the union csr_petx_ram_cerr_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_ram_cerr_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_ram_cerr_cnt_u;

/* Define the union csr_petx_rcv_cpb_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_rcv_cpb_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_rcv_cpb_cyc_cnt_u;

/* Define the union csr_petx_rtn_cpb_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_rtn_cpb_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_rtn_cpb_crdt_cnt_u;

/* Define the union csr_petx_rtn_cpb_ififo_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_rtn_cpb_ififo_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_rtn_cpb_ififo_crdt_cnt_u;

/* Define the union csr_petx_rtn_cpb_cmdidx_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_rtn_cpb_cmdidx_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_rtn_cpb_cmdidx_crdt_cnt_u;

/* Define the union csr_petx_snt_mag_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_snt_mag_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_snt_mag_cyc_cnt_u;

/* Define the union csr_petx_rcv_mag_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_rcv_mag_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_rcv_mag_crdt_cnt_u;

/* Define the union csr_petx_rcv_mag_cmdidx_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 petx_rcv_mag_cmdidx_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_petx_rcv_mag_cmdidx_crdt_cnt_u;


/* Define the union csr_perx_fpga_ver_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_fpga_ver : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_fpga_ver_u;

/* Define the union csr_perx_emu_ver_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_emu_ver : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_emu_ver_u;

/* Define the union csr_perx_initctab_start_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ini_cmd_ram_start : 1;  /* [0] */
        u32 perx_ini_dgst_ram_start : 1; /* [1] */
        u32 rsv_0 : 30;                  /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_initctab_start_u;

/* Define the union csr_perx_initctab_done_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ini_cmd_ram_done : 1;  /* [0] */
        u32 perx_ini_dgst_ram_done : 1; /* [1] */
        u32 rsv_1 : 30;                 /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_initctab_done_u;

/* Define the union csr_perx_int_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpi_int_index : 24; /* [23:0] */
        u32 rsv_2 : 3;               /* [26:24] */
        u32 perx_int_enable : 1;     /* [27] */
        u32 perx_int_issue : 1;      /* [28] */
        u32 rsv_3 : 3;               /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_int_vector_u;

/* Define the union csr_perx_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_int_data : 5;           /* [4:0] */
        u32 rsv_4 : 11;                  /* [15:5] */
        u32 perx_program_csr_id_ro : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_int_u;

/* Define the union csr_perx_int_en_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_int_en : 5;          /* [4:0] */
        u32 rsv_5 : 11;               /* [15:5] */
        u32 perx_program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_int_en_u;

/* Define the union csr_perx_cmd_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cmd_err : 1;         /* [0] */
        u32 perx_cmd_inj_err : 1;     /* [1] */
        u32 perx_cmd_err_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_cmd_err_u;

/* Define the union csr_perx_ram_ucerr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ram_ucerr : 1;         /* [0] */
        u32 perx_inj_ram_ucerr : 1;     /* [1] */
        u32 perx_ram_ucerr_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ram_ucerr_u;

/* Define the union csr_perx_ram_cerr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ram_cerr : 1;         /* [0] */
        u32 perx_inj_ram_cerr : 1;     /* [1] */
        u32 perx_ram_cerr_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ram_cerr_u;

/* Define the union csr_perx_crdt_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_crdt_err : 1;         /* [0] */
        u32 perx_crdt_inj_err : 1;     /* [1] */
        u32 perx_crdt_err_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_crdt_err_u;

/* Define the union csr_perx_fifo_ovf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_fifo_ovf_err : 1;         /* [0] */
        u32 perx_fifo_ovf_inj_err : 1;     /* [1] */
        u32 perx_fifo_ovf_err_sticky : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_fifo_ovf_err_u;

/* Define the union csr_perx_indrect_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_indrect_addr : 24; /* [23:0] */
        u32 perx_indrect_tab : 4;   /* [27:24] */
        u32 perx_indrect_state : 2; /* [29:28] */
        u32 perx_indrect_mode : 1;  /* [30] */
        u32 perx_indrect_vld : 1;   /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_indrect_ctrl_u;

/* Define the union csr_perx_indrect_timeout_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_indrect_timeout : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_indrect_timeout_u;

/* Define the union csr_perx_indrect_data_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_indrect_data : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_indrect_data_u;

/* Define the union csr_perx_ucerr_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cmd_ucerr_ctrl : 1;            /* [0] */
        u32 perx_crdt_ucerr_ctrl : 1;           /* [1] */
        u32 perx_cpb_ifo_ovf_ctrl : 1;          /* [2] */
        u32 perx_dcry_ifo_ovf_ctrl : 1;         /* [3] */
        u32 perx_hefo_ovf_ctrl : 1;             /* [4] */
        u32 perx_fst_gbfo_ovf_ctrl : 1;         /* [5] */
        u32 perx_difxoc_fifo_ovf_ctrl : 1;      /* [6] */
        u32 rsv_6 : 1;                          /* [7] */
        u32 perx_cpb_cdf_ram_ucerr_ctrl : 1;    /* [8] */
        u32 perx_cpb_ifo_ram_ucerr_ctrl : 1;    /* [9] */
        u32 perx_dcry_cdf_ram_ucerr_ctrl : 1;   /* [10] */
        u32 perx_dcry_ifo_ram_ucerr_ctrl : 1;   /* [11] */
        u32 perx_cpsfo_ram_ucerr_ctrl : 1;      /* [12] */
        u32 perx_he_ram_ucerr_ctrl : 1;         /* [13] */
        u32 perx_fcht_ram_ucerr_ctrl : 1;       /* [14] */
        u32 perx_fst_gbfo_ram_ucerr_ctrl : 1;   /* [15] */
        u32 perx_dctx_ram_ucerr_ctrl : 1;       /* [16] */
        u32 perx_difxpp_ram_ucerr_ctrl : 1;     /* [17] */
        u32 perx_difx_ioc_ram_ucerr_ctrl : 1;   /* [18] */
        u32 perx_difxoc_dram_ucerr_ctrl : 1;    /* [19] */
        u32 perx_difxoc_smd_ram_ucerr_ctrl : 1; /* [20] */
        u32 perx_mpu_ipsurx_ram_ucerr_ctrl : 1; /* [21] */
        u32 perx_otcc_rocfo_ram_ucerr_ctrl : 1; /* [22] */
        u32 perx_otcc_rwcfo_ram_ucerr_ctrl : 1; /* [23] */
        u32 rsv_7 : 7;                          /* [30:24] */
        u32 perx_ucerr_ctrl : 1;                /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ucerr_ctrl_u;

/* Define the union csr_perx_ram_err_chk_bypass_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ram_err_chk_bypass : 1; /* [0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ram_err_chk_bypass_u;

/* Define the union csr_perx_inj_ram_err_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_inj_cpb_cdf_ram_cerr : 1;     /* [0] */
        u32 perx_inj_cpb_cdf_ram_ucerr : 1;    /* [1] */
        u32 perx_inj_cpb_ifo_ram_cerr : 1;     /* [2] */
        u32 perx_inj_cpb_ifo_ram_ucerr : 1;    /* [3] */
        u32 perx_inj_dcry_cdf_ram_cerr : 1;    /* [4] */
        u32 perx_inj_dcry_cdf_ram_ucerr : 1;   /* [5] */
        u32 perx_inj_dcry_ifo_ram_cerr : 1;    /* [6] */
        u32 perx_inj_dcry_ifo_ram_ucerr : 1;   /* [7] */
        u32 perx_inj_cpsfo_ram_cerr : 1;       /* [8] */
        u32 perx_inj_cpsfo_ram_ucerr : 1;      /* [9] */
        u32 perx_inj_he_ram_cerr : 1;          /* [10] */
        u32 perx_inj_he_ram_ucerr : 1;         /* [11] */
        u32 perx_inj_fcht_ram_cerr : 1;        /* [12] */
        u32 perx_inj_fcht_ram_ucerr : 1;       /* [13] */
        u32 perx_inj_fst_gbfo_ram_cerr : 1;    /* [14] */
        u32 perx_inj_fst_gbfo_ram_ucerr : 1;   /* [15] */
        u32 perx_inj_dctx_ram_cerr : 1;        /* [16] */
        u32 perx_inj_dctx_ram_ucerr : 1;       /* [17] */
        u32 perx_inj_difxpp_ram_cerr : 1;      /* [18] */
        u32 perx_inj_difxpp_ram_ucerr : 1;     /* [19] */
        u32 perx_inj_difx_ioc_ram_cerr : 1;    /* [20] */
        u32 perx_inj_difx_ioc_ram_ucerr : 1;   /* [21] */
        u32 perx_inj_difxoc_dat_ram_cerr : 1;  /* [22] */
        u32 perx_inj_difxoc_dat_ram_ucerr : 1; /* [23] */
        u32 perx_inj_difxoc_smd_ram_cerr : 1;  /* [24] */
        u32 perx_inj_difxoc_smd_ram_ucerr : 1; /* [25] */
        u32 perx_inj_mpu_ipsurx_ram_cerr : 1;  /* [26] */
        u32 perx_inj_mpu_ipsurx_ram_ucerr : 1; /* [27] */
        u32 perx_inj_otcc_rocfo_ram_cerr : 1;  /* [28] */
        u32 perx_inj_otcc_rocfo_ram_ucerr : 1; /* [29] */
        u32 perx_inj_otcc_rwcfo_ram_cerr : 1;  /* [30] */
        u32 perx_inj_otcc_rwcfo_ram_ucerr : 1; /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_inj_ram_err_cfg_u;

/* Define the union csr_perx_en_hcmd_num_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_en_hcmd_num : 4; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_en_hcmd_num_u;

/* Define the union csr_perx_chnl_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_chnl_hcmd_en : 1;  /* [0] */
        u32 perx_chnl_dcry_en : 1;  /* [1] */
        u32 perx_chnl_difxe_en : 1; /* [2] */
        u32 perx_dsgl_smd_num : 5;  /* [7:3] */
        u32 rsv_8 : 15;             /* [22:8] */
        u32 perx_chnl_idle_th : 9;  /* [31:23] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_chnl_cfg_u;

/* Define the union csr_perx_pre_alc_pkt_crdt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_pre_alc_pkt_crdt0 : 4; /* [3:0] */
        u32 perx_pre_alc_pkt_crdt1 : 4; /* [7:4] */
        u32 perx_ertn_pkt_crdt_th : 4;  /* [11:8] */
        u32 rsvd : 20;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_pre_alc_pkt_crdt_u;

/* Define the union csr_perx_lp_mpu_chnl_crdt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ipsurx_chnl1_crdt : 7; /* [6:0] */
        u32 rsv_9 : 1;                  /* [7] */
        u32 perx_ipsurx_chnl0_crdt : 7; /* [14:8] */
        u32 rsv_10 : 1;                 /* [15] */
        u32 perx_mpu_chnl_crdt : 7;     /* [22:16] */
        u32 rsv_11 : 9;                 /* [31:23] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_lp_mpu_chnl_crdt_u;

/* Define the union csr_perx_icrc_ini0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_icrc_ini0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_icrc_ini0_u;

/* Define the union csr_perx_icrc_ini1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_icrc_ini1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_icrc_ini1_u;

/* Define the union csr_perx_icrc_mgc0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_icrc_mgc0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_icrc_mgc0_u;

/* Define the union csr_perx_icrc_mgc1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_icrc_mgc1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_icrc_mgc1_u;

/* Define the union csr_perx_difx_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_grd_crc_ini : 16;          /* [15:0] */
        u32 perx_grd_cs_ini : 16;           /* [31:16] */
        u32 perx_difx_vrf_special_en : 1;   /* [32] */
        u32 perx_difx_rev_ipcs_rslt : 1;    /* [33] */
        u32 perx_difx_rev_ipcs_f1_rslt : 1; /* [34] */
        u32 perx_difx_rev_ipcs_f0_rslt : 1; /* [35] */
        u32 perx_difx_rev_crc16_rslt : 1;   /* [36] */
        u32 perx_difx_crc16_rslt_odr : 1;   /* [37] */
        u32 perx_difx_crc16_in_dat_odr : 1; /* [38] */
        u32 rsvd : 25;
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_perx_difx_cfg_u;

/* Define the union csr_perx_fifo_af_th_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_fgbfo_af_th : 8;       /* [7:0] */
        u32 perx_hefo_af_th : 7;        /* [14:8] */
        u32 rsv_12 : 1;                 /* [15] */
        u32 perx_difxoc_fifo_af_th : 7; /* [22:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_fifo_af_th_u;

/* Define the union csr_perx_1588_clk_ofs_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_1588_clk_ofs : 31;    /* [30:0] */
        u32 perx_1588_clk_ofs_inc : 1; /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_1588_clk_ofs_u;

/* Define the union csr_perx_ppop_chnl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ppop_ack_chnl : 5;  /* [4:0] */
        u32 rsv_13 : 3;              /* [7:5] */
        u32 perx_ppop_rqst_chnl : 5; /* [12:8] */
        u32 perx_ppop_en : 1;        /* [13] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ppop_chnl_u;

/* Define the union csr_perx_ram_ctrl_h_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ram_ctrl_hh : 6; /* [5:0] */
        u32 rsvd : 26;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ram_ctrl_h_u;

/* Define the union csr_perx_ram_ctrl_m_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 perx_ram_ctrl_hm : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_perx_ram_ctrl_m_u;

/* Define the union csr_perx_ram_ctrl_l_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 perx_ram_ctrl_mm : 64; /* [63:0] */
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_perx_ram_ctrl_l_u;

/* Define the union csr_perx_clk_period_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_clk_period_fraction : 30; /* [29:0] */
        u32 perx_clk_period_integer : 2;   /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_clk_period_u;

/* Define the union csr_perx_chnl_sop_eop_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpb_sop_eop_st : 23;  /* [22:0] */
        u32 rsv_14 : 1;                /* [23] */
        u32 perx_dcry_sop_eop_st : 18; /* [41:24] */
        u32 rsvd : 22;
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_perx_chnl_sop_eop_st_u;

/* Define the union csr_perx_chnl_crdt_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpb_chnl_crdt_st : 23; /* [22:0] */
        u32 rsv_15 : 1;                 /* [23] */
        u32 perx_dcry_chnl_crdt_st : 3; /* [26:24] */
        u32 rsvd : 5;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_chnl_crdt_st_u;

/* Define the union csr_perx_fifo_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_fst_gbfo_cnt : 8;    /* [7:0] */
        u32 perx_hefo_cnt : 7;        /* [14:8] */
        u32 rsv_16 : 1;               /* [15] */
        u32 perx_difxoc_fifo_cnt : 7; /* [22:16] */
        u32 rsvd : 9;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_fifo_cnt_u;

/* Define the union csr_perx_fifo_cur_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_fst_gbfo_ovf_cur : 1;      /* [0] */
        u32 perx_fst_gbfo_full_cur : 1;     /* [1] */
        u32 perx_fst_gbfo_empty_cur : 1;    /* [2] */
        u32 rsv_17 : 1;                     /* [3] */
        u32 perx_hefo_ovf_cur : 1;          /* [4] */
        u32 perx_hefo_full_cur : 1;         /* [5] */
        u32 perx_hefo_empty_cur : 1;        /* [6] */
        u32 rsv_18 : 1;                     /* [7] */
        u32 perx_difxoc_fifo_ovf_cur : 1;   /* [8] */
        u32 perx_difxoc_fifo_full_cur : 1;  /* [9] */
        u32 perx_difxoc_fifo_empty_cur : 1; /* [10] */
        u32 rsv_19 : 21;                    /* [31:11] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_fifo_cur_st_u;

/* Define the union csr_perx_fifo_hst_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_fst_gbfo_ovf_hst : 1;     /* [0] */
        u32 perx_fst_gbfo_full_hst : 1;    /* [1] */
        u32 perx_hefo_ovf_hst : 1;         /* [2] */
        u32 perx_hefo_full_hst : 1;        /* [3] */
        u32 perx_difxoc_fifo_ovf_hst : 1;  /* [4] */
        u32 perx_difxoc_fifo_full_hst : 1; /* [5] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_fifo_hst_st_u;

/* Define the union csr_perx_sop_eop_err_hst_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpb_sop_eop_err_hst : 23;  /* [22:0] */
        u32 rsv_20 : 1;                     /* [23] */
        u32 perx_dcry_sop_eop_err_hst : 18; /* [41:24] */
        u32 rsvd : 22;
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_sop_eop_err_hst_st_u;

/* Define the union csr_perx_cpb_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpb_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_cpb_pkt_cnt_u;

/* Define the union csr_perx_s_dcry_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_s_dcry_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_s_dcry_pkt_cnt_u;

/* Define the union csr_perx_r_dcry_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_r_dcry_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_r_dcry_pkt_cnt_u;

/* Define the union csr_perx_cmi_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cmi_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_cmi_pkt_cnt_u;

/* Define the union csr_perx_ppop_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ppop_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ppop_pkt_cnt_u;

/* Define the union csr_perx_drp_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_drp_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_drp_pkt_cnt_u;

/* Define the union csr_perx_cpb_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpb_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_cpb_err_pkt_cnt_u;

/* Define the union csr_perx_s_dcry_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_s_dcry_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_s_dcry_err_pkt_cnt_u;

/* Define the union csr_perx_r_dcry_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_r_dcry_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_r_dcry_err_pkt_cnt_u;

/* Define the union csr_perx_cpi_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpi_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_cpi_err_pkt_cnt_u;

/* Define the union csr_perx_ipsurx_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ipsurx_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ipsurx_err_pkt_cnt_u;

/* Define the union csr_perx_mpu_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_mpu_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_mpu_err_pkt_cnt_u;

/* Define the union csr_perx_ppop_err_pkt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ppop_err_pkt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ppop_err_pkt_cnt_u;

/* Define the union csr_perx_ram_ucerr_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ram_ucerr_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ram_ucerr_cnt_u;

/* Define the union csr_perx_ram_cerr_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_ram_cerr_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_ram_cerr_cnt_u;

/* Define the union csr_perx_cpi_bp_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_cpi_bp_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_cpi_bp_cnt_u;

/* Define the union csr_perx_mpu_bp_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_mpu_bp_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_mpu_bp_cnt_u;

/* Define the union csr_perx_rcv_cpb_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rcv_cpb_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rcv_cpb_cyc_cnt_u;

/* Define the union csr_perx_rtn_cpb_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rtn_cpb_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rtn_cpb_crdt_cnt_u;

/* Define the union csr_perx_rtn_cpb_ififo_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rtn_cpb_ififo_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rtn_cpb_ififo_crdt_cnt_u;

/* Define the union csr_perx_rtn_cpb_cmdidx_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rtn_cpb_cmdidx_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rtn_cpb_cmdidx_crdt_cnt_u;

/* Define the union csr_perx_snt_dcry_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_snt_dcry_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_snt_dcry_cyc_cnt_u;

/* Define the union csr_perx_rcv_dcry_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rcv_dcry_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rcv_dcry_crdt_cnt_u;

/* Define the union csr_perx_rcv_dcry_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rcv_dcry_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rcv_dcry_cyc_cnt_u;

/* Define the union csr_perx_rtn_dcry_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rtn_dcry_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rtn_dcry_crdt_cnt_u;

/* Define the union csr_perx_rtn_dcry_ififo_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rtn_dcry_ififo_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rtn_dcry_ififo_crdt_cnt_u;

/* Define the union csr_perx_rtn_dcry_cmdidx_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rtn_dcry_cmdidx_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rtn_dcry_cmdidx_crdt_cnt_u;

/* Define the union csr_perx_snt_cpi_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_snt_cpi_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_snt_cpi_cyc_cnt_u;

/* Define the union csr_perx_snt_ipsurx_cyc_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_snt_ipsurx_cyc_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_snt_ipsurx_cyc_cnt_u;

/* Define the union csr_perx_rcv_ipsurx_crdt_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_rcv_ipsurx_crdt_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_rcv_ipsurx_crdt_cnt_u;

/* Define the union csr_perx_dgst_err_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_dgst_err_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_dgst_err_cnt_u;

/* Define the union csr_perx_sector_grd_ilgl_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_sector_grd_ilgl_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_sector_grd_ilgl_cnt_u;

/* Define the union csr_perx_sector_ref_ilgl_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_sector_ref_ilgl_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_sector_ref_ilgl_cnt_u;

/* Define the union csr_perx_sector_app_ilgl_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_sector_app_ilgl_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_sector_app_ilgl_cnt_u;

/* Define the union csr_perx_difx_err_dfx_clr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_difx_err_dfx_clr : 1; /* [0] */
        u32 rsv_21 : 31;               /* [31:1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_difx_err_dfx_clr_u;

/* Define the union csr_perx_difx_err_info_dw0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_difx_guard_err : 1; /* [0] */
        u32 perx_difx_app_err : 1;   /* [1] */
        u32 perx_difx_ref_err : 1;   /* [2] */
        u32 rsv_22 : 1;              /* [3] */
        u32 perx_difx_vrf_type : 2;  /* [5:4] */
        u32 rsv_23 : 2;              /* [7:6] */
        u32 perx_difx_err_chnl : 5;  /* [12:8] */
        u32 rsv_24 : 3;              /* [15:13] */
        u32 perx_difx_task_tag : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_difx_err_info_dw0_u;

/* Define the union csr_perx_difx_err_info_dw1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_difx_rcv_guard : 16; /* [15:0] */
        u32 perx_difx_rcv_app : 16;   /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_difx_err_info_dw1_u;

/* Define the union csr_perx_difx_err_info_dw2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_difx_rcv_ref : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_difx_err_info_dw2_u;

/* Define the union csr_perx_difx_err_info_dw3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_difx_exp_guard : 16; /* [15:0] */
        u32 perx_difx_exp_app : 16;   /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_difx_err_info_dw3_u;

/* Define the union csr_perx_difx_err_info_dw4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 perx_difx_exp_ref : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_perx_difx_err_info_dw4_u;


#endif // PE_C_UNION_DEFINE_H
